From: Marco Trevisan (TreviƱo) Date: Mon, 8 Feb 2021 17:57:06 +0000 (+0100) Subject: gdm: Fail and restart verification on conversation stopped for all services X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~616^2^2~331 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=7a2e629bd0e6abcb63ab691be943e56b7df004ac;p=gnome-shell.git gdm: Fail and restart verification on conversation stopped for all services Currently when the foreground service conversation stops we increase the verification failed count and try to start it again, while if a background service has been stopped we just ignore it. This is causing a various number of issues, for example in the case of the fingerprint authentication service, it is normally configured to die after a timeout, and we end up never restarting it (while the UI still keeps showing to the user the message about swipe/touch the device). So, in such case let's just consider it a "soft" verification failure that doesn't increase the failures count but will cause us to reset the UI and try to restart the authentication (and so the affected service). Part-of: --- diff --git a/js/gdm/util.js b/js/gdm/util.js index 1666fd842..a91badf4f 100644 --- a/js/gdm/util.js +++ b/js/gdm/util.js @@ -677,10 +677,10 @@ var ShellUserVerifier = class { // if the password service fails, then cancel everything. // But if, e.g., fingerprint fails, still give // password authentication a chance to succeed - if (this.serviceIsForeground(serviceName)) { + if (this.serviceIsForeground(serviceName)) this._failCounter++; - this._verificationFailed(serviceName, true); - } + + this._verificationFailed(serviceName, true); } }; Signals.addSignalMethods(ShellUserVerifier.prototype);